package June;

public class Test_16_3 {
    public static void main(String[] args) {
        T1 t = new T1();
        System.out.println(t.m(10));
        System.out.println(t.m(10, 20));
        t.m("hello!");
        Methods m = new Methods();
        System.out.println(m.max(10, 20));
        System.out.println(m.max(10.1, 20.5));
        System.out.println(m.max(10.3, 20.8, 30.6));
    }
}

// 编写程序，类Methods中定义三个重载方法并调用。
// 方法名为m。三个方法分别接收一个int参数、两个int参数、一个字符串参数。
// 分别执行平方运算并输出结果，相乘并输出结果，输出字符串信息。
// 在主类的main()方法中分别用参数区别调用三个方法。

class T1 {
    public int m(int n) {
        return n * n;
    }
    public int m(int n1, int n2) {
        return n1 * n2;
    }
    public void m(String s) {
        System.out.println(s);
    }
}

// 在Methods类，定义三个重载方法max()，
// 第一个方法，返回两个int值中的最大值，
// 第二个方法，返回两个double值中的最大值，
// 第三个方法，返回三个double值中的最大值，
// 并分别调用三个方法。

class Methods {
    public int max(int n1, int n2) {
        return n1 > n2 ? n1 : n2;
    }
    public double max(double d1, double d2) {
        return d1 > d2 ? d1 : d2;
    }
    public double max(double d1, double d2, double d3) {
        return (d1 > d2 ? d1 : d2) > d3 ? (d1 > d2 ? d1 : d2) : d3;
    }
}